home *** CD-ROM | disk | FTP | other *** search
/ Aminet 38 / Aminet 38 (2000)(Schatztruhe)[!][Aug 2000].iso / Aminet / dev / asm / AmigaGS-Dev.lha / AmigaGS / Examples / ScreenScrolls / ScrollHorizontal.exe.s < prev    next >
Encoding:
Text File  |  2000-05-04  |  2.6 KB  |  136 lines

  1. ; **************************
  2. ; *                        *
  3. ; * AMIGA GAME STUDIO BETA *
  4. ; *                        *
  5. ; *------------------------*
  6. ; *                        *
  7. ; * Example de viewer pour *
  8. ; * des images iff/ilbm de *
  9. ; * 2 à 256 couleurs .     *
  10. ; *                        *
  11. ; **************************
  12. ;
  13. ; Fichier startup de AGS.
  14.     Include    "AmigaGS:AmigaGS-Startup.s"
  15. ;
  16. ;
  17. ; VOTRE PROGRAMME COMMENCERA ICI !!!!!!!!
  18. ;
  19. ; Mise en place du copper AGA.
  20.     LibCall        Display,Ags_Display
  21. ;
  22. ; On prend les valeurs IFF/ILBM
  23.     Lea.l        Ilbm,a0
  24.     LibCall        FxIlbm,IlbmXSize
  25.     Lea.l        X,a0
  26.     Move.l        d0,(a0)
  27. ;
  28.     Lea.l        Ilbm,a0
  29.     LibCall        FxIlbm,IlbmYSize
  30.     Lea.l        Y,a0
  31.     Move.l        d0,(a0)
  32. ;
  33.     Lea.l        Ilbm,a0
  34.     LibCall        FxIlbm,IlbmDepth
  35.     Lea.l        Depth,a0
  36.     Move.l        d0,(a0)
  37. ;
  38. ; Ouverture de l'ecran necessaire.
  39.     Lea.l        X,a0
  40.     Moveq.l        #0,d0            ; Ecran 0
  41.     Movem.l        (a0)+,d1/d2/d3    ; X,Y,Depth.
  42.     LibCall        Screens,Screen_Open
  43.  
  44. ; On place l'ecran dans le display AmigaGS.
  45.     Moveq.l        #0,d0
  46.     LibCall        Screens,Screen_Base
  47.     LibCall        Display,Ags_Screen
  48.     Move.l        #256,d0
  49.     LibCall        Display,YDisplaySize
  50.  
  51. ; On va convertir l'image IFF/ILBM Dans l'ecran.
  52.     Moveq.l        #0,d0
  53.     LibCall        Screens,Screen_Base
  54.     Lea.l        Ilbm,a1
  55.     LibCall        FxIlbm,IlbmConvert
  56.  
  57. ; Pour finir,On va placer la bonne palette de couleur.
  58.     Lea.l        Ilbm,a0
  59.     LibCall        FxIlbm,IlbmPalette    ; ->A0=palette base
  60.     Lea.l        CMAP,a1
  61.     Move.l        a0,(a1)
  62.     Lea.l        Depth,a1
  63.     Move.l        (a1),d0    ; D0=#bpls
  64.     Lsl.w        #1,d0    
  65.     Lea.l        DepthMask,a4
  66.     Add.w        d0,a4
  67.     Lea.l        Depth,a0
  68.     clr.l        (a0)
  69. ;
  70. ; On redéfinit ??? couleurs selon le déssin.
  71.     Lea.l        CMAP,a0
  72.     Lea.l        Depth,a1
  73.     Move.l        (a0),a3        ; A3=Palette Pointer.
  74.     Add.l        #4,a3
  75.     Move.l        (a1),d0        ; D0=Couleur en cours.
  76. bcl2
  77.     Clr.l        d1
  78.     Move.b        (a3)+,d1    ; D1=ROUGE.
  79.     Clr.l        d2
  80.     Move.b        (a3)+,d2    ; D2=VERT.
  81.     Clr.l        d3
  82.     Move.b        (a3)+,d3    ; D3=BLEU.
  83.     LibCall        Display,Ags_SetColor
  84.     Lea.l        Depth,a0
  85.     Addq.l        #1,(a0)
  86.     Move.l        (a0),d0        ; D0=Prochaine couleur.
  87.     Cmp.w        (a4),d0
  88.     Blt.b        bcl2
  89. ;
  90.     LibCall        AGSSystem,TasksOff
  91.  
  92. ; On attend l'appui sur le bouton gauche de la souris.
  93. ; Après un déplacement du scrolling.
  94. wlc
  95.     Lea.l        Scroll,a0
  96.     Clr.l        d1                ; D1=YScroll=0
  97.     Move.l        (a0),d0            ; D1=XScroll
  98.     Addq.l        #1,d0
  99. ;0<=XScroll<=319
  100.     Cmp.l        #32000,d0
  101.     Blt.b        w1d
  102.     Sub.l        #32000,d0
  103. w1d:
  104.     Move.l        d0,(a0)
  105.     Divu.l        #100,d0
  106.     LibCall        Display,Screen_Offset
  107.  
  108.  
  109.  
  110.     LibCall        Joyport,Joy0Fire1State
  111.     Tst.b        d0
  112.     Beq.b        wlc
  113.  
  114.  
  115. ; On revient au workbench,on remet tout à 0 et on quitte.
  116. _Fin1:
  117.     LibCall        AGSSystem,TasksOn
  118.  
  119.     LibCall        Display,WB_Display
  120.     ScreenClose    #0
  121.     Moveq.l    #0,d0
  122.     Rts
  123.  
  124. ;
  125. ; Autres librairies définissables par l'utilisateur
  126. ;
  127. X:        Dc.l    0
  128. Y:        Dc.l    0
  129. Depth:    Dc.l    0
  130. CMAP:    Dc.l    0
  131. DepthMask:
  132.         Dc.w    0,2,4,8,16,32,64,128,256
  133. Scroll:    Dc.l    0
  134. Ilbm:
  135.     Incbin    "AmigaGS:Samples/HScroll.lbm"
  136.